Method and apparatus for image processing, program, and recording medium

ABSTRACT

An information processing apparatus includes a managing unit that manages a scale calculated based on descriptions of an operation performed on a predetermined item and a series to which the item belongs in association with each other, a first extracting unit that extracts items belonging to the same series as top N series, obtained by sorting the scales, from among a plurality of items, a taste managing unit that manages taste of a user, a second extracting unit that calculates the degree of similarity between the taste managed by the taste managing unit and each item to extract items with higher degrees of similarity, and a recommending unit that recommends a predetermined number of items among the items extracted by the first extracting unit and the items extracted by the second extracting unit to the user.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a continuation of U.S. patent applicationSer. No. 13/853,272 filed on Mar. 29, 2013 which is a continuation ofU.S. patent application Ser. No. 12/553,205 filed on Sep. 3, 2009 whichclaims priority of Japanese Patent Application No. P2008-230321 filed onSep. 8, 2008 in the Japanese Patent Office, the entire content of whichis incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an apparatus and method for informationprocessing, a program, and a recording medium, and in particular,relates to an information processing apparatus and method capable ofmore appropriately performing a process for recommendation of apredetermined item, a program, and a recording medium.

2. Description of the Related Art

Recommendation systems for recommending a predetermined item, e.g., atelevision (TV) broadcast program are becoming widespread. Therecommendation systems are broadly divided into two types,“recommendation based on user taste” and “recommendation based onshort-term user interest or habit” (refer to, for example, JapaneseUnexamined Patent Application Publication Nos. 2007-043471, 2007-323398,and 2004-192460).

In a related-art recommendation system based on user taste, taste of auser is learned on the basis of metadata added to an item which the usertakes some kind of action on, e.g., the user viewed or bought. An itemto be recommended is determined by processing, e.g., matching on thebasis of the learned taste and pieces of metadata (hereinafter,“metadata blocks”) added to respective items as targets to berecommended (hereinafter, “recommendation targets”).

In a related-art recommendation system based on short-term user interestor habit, a next program of a serialized drama or that of a series isrecommended on the basis of user habit.

In the recommendation system based on user taste, an item that matchesuser taste can be recommended to some extent. In some cases, however, anext program of a serialized drama or a series which the user views isnot recommended properly. One of factors is that metadata added to anitem provides a small amount of information, processing such as matchingis performed on the basis of such small amounts of information, and awrong item is thus selected. In some cases, when metadata added to anitem which should be recommended to a user provides a small amount ofinformation, another item provided with metadata providing a largeamount of information is selected and recommended.

In the recommendation system based on short-term user interest or habit,information relating to short-term interest or habit of a user includes,for example, information indicating that the user records a programwhich is broadcasted from 8.00 p.m. on Monday every week. In this case,programs broadcasted from 8:00 p.m. on Monday can be recommended. If theprograms broadcasted in this time zone include a next program of aserialized drama or a series, the program can be properly recommended.

However, if the serialized drama broadcasted in this time zone ends andthe coming serialized drama does not match the user taste, the comingdrama is recommended to the user. Furthermore, assuming thatrecommendation is performed using information, indicating a time zone ora broadcast station, associated with a program programmed to be recordedas a program which the user happened to be interested in, namely, aprogram programmed to be recorded on the basis of short-term interest,if a time zone or broadcast station associated with a program which theuser is not interested in matches that of the programmed program, wrongrecommendation is performed. In the above-described recommendation basedon short-term interest or habit, a program that matches user taste isnot necessarily recommended.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of theabove-described circumstances. It is desirable to enable recommendationbased not only on user taste but also on short-term interest or habit.

According to an embodiment of the present invention, an informationprocessing apparatus includes managing means for managing a scalecalculated based on descriptions of an operation performed on apredetermined item and a series to which the item belongs in associationwith each other, first extracting means for extracting items belongingto the same series as top N series, obtained by sorting the scales, fromamong a plurality of items, taste managing means for managing taste of auser, second extracting means for calculating the degree of similaritybetween the taste managed by the taste managing means and each item toextract items with higher degrees of similarity, and recommending meansfor recommending a predetermined number of items among the itemsextracted by the first extracting means and the items extracted by thesecond extracting means to the user.

In this embodiment, the scale may be calculated by adding values set torespective operations of recording, viewing, and transferring thecorresponding item to another apparatus.

In this embodiment, the scale may be attenuated at predeterminedintervals.

In this embodiment, the apparatus may further include multiplying meansfor calculating a value indicating to what extent viewing in series isrecommended and multiplying each of the degrees of similarity of theitems, extracted by the second extracting means, by the calculatedvalue.

According to another embodiment of the present invention, a method forinformation processing includes the steps of referring to information,including a scale calculated based on descriptions of an operationperformed on a predetermined item and a series to which the item belongsin association with each other, stored in storing means to extract itemsbelonging to the same series as top N series, obtained by sorting thescales, from among a plurality of items, referring to taste of a user,the taste being stored in storing means, and calculating the degree ofsimilarity between the taste and each item to extract items with higherdegrees of similarity, and recommending the extracted items to the user.

According to another embodiment of the present invention, there isprovided a computer-readable program that allows a computer to execute aprocess including the steps of referring to information, including ascale calculated based on descriptions of an operation performed on apredetermined item and a series to which the item belongs in associationwith each other, stored in storing means to extract items belonging tothe same series as top N series, obtained by sorting the scales, fromamong a plurality of items, referring to taste of a user, the tastebeing stored in storing means, and calculating the similarity betweenthe taste and each item to extract items with higher degrees ofsimilarity, and recommending the extracted items to the user.

According to another embodiment of the present invention, there isprovided a recording medium that stores the above-described program.

In each of the information processing apparatus, method, and programaccording to the above-described embodiments, a scale calculated basedon descriptions of an operation performed on a predetermined item and aseries to which the item belongs are managed in association with eachother, managed information is referred to, items belonging to the sameseries as top N series obtained by sorting the scales are extracted fromamong items, the degree of similarity between taste of a user and eachitem is calculated, items with higher degrees of similarity areextracted, and the extracted items are recommended to the user.

According to the embodiments of the present invention, items can berecommended in consideration of not only user taste but also short-termuser interest or habit.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the configuration of a systemaccording to an embodiment of the present invention;

FIG. 2 is a diagram illustrating the data structure of an operation logdatabase;

FIG. 3 is a diagram illustrating the data structure of a user tastedatabase;

FIG. 4 is a diagram illustrating the data structure of an item metadatabase;

FIG. 5 is a diagram illustrating the data structure of an item statemanagement database;

FIG. 6 is a diagram illustrating the data structure of an activitydegree database;

FIG. 7 is a diagram illustrating the data structure of a genre masterdatabase 36;

FIG. 8 is a diagram illustrating the data structure of anelectronic-program-guide (EPG) management database;

FIG. 9 is a flowchart explaining a process for recommendation;

FIG. 10 is the flowchart explaining the process for recommendation;

FIG. 11 is a flowchart explaining another process for recommendation;

FIG. 12 is a flowchart explaining another process for recommendation;and

FIG. 13 is a block diagram explaining a recording medium.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described below.

Configuration of System

FIG. 1 illustrates the configuration of a system according to anembodiment of the present invention. The system of FIG. 1 is forrecommendation of a predetermined item to a user. Referring to FIG. 1,the system includes a device 11, an engine unit 12, and a database unit13.

The device 11 is a user terminal, such as a personal computer, atelevision receiver, or a hard disk recorder. This embodiment will bedescribed with respect to recommendation of a television broadcastprogram. Accordingly, the device 11 is capable of processing, e.g.,receiving, playing, and storing a television broadcast program. In thefollowing description, it is assumed that the device 11 is a personalcomputer and receives and records a television broadcast program.

The engine unit 12 includes a plurality of engines and acquiresinformation relating to user taste and performs a process forrecommendation of an item that matches the user taste. The database unit13 stores information relating to the user taste acquired by the engineunit 12 and also stores data necessary for the engine unit 12 to executea process for recommendation.

The device 11 and the engine unit 12 are configured to transmit andreceive data (information) to/from each other. The engine unit 12 andthe database unit 13 are also configured to transmit and receive data(information) to/from each other. For example, the device 11, the engineunit 12, and the database unit 13 are connected via a network so as totransmit and receive data to/from each another.

The device 11 may include the engine unit 12 and the database unit 13.Alternatively, the device 11 may include the engine unit 12 and thedevice 11 may be connected to the database unit 13 via the network.Furthermore, the device 11 may be connected to the engine unit 12 viathe network and the engine unit 12 and the database unit 13 mayconstitute a single device.

The engine unit 12 includes the engines and the database unit 13includes a plurality of databases as will be described below. The device11 may include part of the engines and part of the databases.

The engine unit 12 includes an intra-device information extractionengine 21. Since information relating to user taste is extracted frominformation stored in the device 11 as will be described below, it ispreferable that the intra-device information extraction engine 21constituting the engine unit 12 be included in the device 11 in terms ofsecurity. Preferably, only the extracted information is supplied to thedatabase unit 13.

Engines

The engine unit 12 includes the intra-device information extractionengine 21, an item management engine 22, a taste extraction engine 23, amining engine 24, and a recommendation engine 25.

The intra-device information extraction engine 21 extracts informationrelating to user taste from pieces of information (hereinafter, referredto as “information blocks”) indicating pieces of music and mails stored(managed) in the device 11. In the case where the device 11 is apersonal computer as described above, for example, the device 11 storesdata blocks indicating pieces of music downloaded through the networkand data blocks indicating e-mails sent and received. The pieces ofmusic reflect user taste. For instance, when information relating topieces of music is acquired, the user taste, e.g., user's favoriteartist and genre can be obtained. Furthermore, the user taste can alsobe extracted from descriptions of e-mails. Accordingly, the intra-deviceinformation extraction engine 21 extracts such information stored in thedevice 11.

The item management engine 22 refers to an operation log database 31constituting the database unit 13 to calculate a degree of activity(hereinafter, referred to as “activity degree”) and updates an activitydegree database 35. The activity degree and these databases will bedescribed in detail below. The item management engine 22 also performsprocessing of updating an item state management database 34.

The taste extraction engine 23 refers to the operation log database 31to extract the user taste and updates a user taste database 32 and anitem meta database 33.

The mining engine 24 extracts the amount of feature of an item on thebasis of metadata added to the item and updates the item statemanagement database 34.

The recommendation engine 25 refers to the user taste database 32 andthe item meta database 33 to determine an item to be recommended to theuser.

Databases

The database unit 13 includes the operation log database 31, the usertaste database 32, the item meta database 33, the item state managementdatabase 34, the activity degree database 35, a genre master database36, and an electronic-program-guide (EPG) management database 37.

The operation log database 31 manages a log relating to a user operationon the device 11. FIG. 2 illustrates the data structure of the operationlog database 31. Referring to FIG. 2, the operation log database 31manages information blocks indicating “item ID”, “user ID”, “log type”,and “log recording date” such that the information blocks are associatedwith one another.

In a field named “ITEM ID”, an ID assigned to each item is written. Inthis instance, each item is a television broadcast program. Accordingly,IDs assigned to respective programs are written. Although it is assumedthat each item is a television broadcast program in the followingdescription, items are not limited to television broadcast programs, butinclude a piece of music which is stored in, for example, a compact disc(CD) and is sold, a video image which is distributed via a network or isrecorded in a recording medium, e.g., a digital versatile disc (DVD) andis sold, and a radio broadcast program. An item is an object orinformation that can be recommended to a user. An item ID is an ID bywhich the corresponding item can be uniquely identified.

In a field named “USER ID”, an ID assigned to each user is written. Inthis instance, each user uses the device 11. For example, to use therecommendation system in FIG. 1, a process of identifying a user, e.g.,login is performed and, after that, the user is permitted to use thesystem. When the process such as login is performed, a user isspecified. The specified user has an assigned user ID. A component thatperforms the process such as login is not illustrated in FIG. 1.

In a field named “LOG TYPE”, a log relating to an operation, performedby a user identified using the corresponding user ID, is written.Assuming that an item is a television broadcast program, logs to berecorded include a log indicating that the user viewed the program, alog indicating that the user recorded (or programmed to record) theprogram, a log indicating that the user evaluated the program afterviewing (indicating a result of evaluation), a log indicating that theuser retrieved information regarding the details of the program, and alog indicating that the user transferred the recorded program to adevice other than the device 11. In a field named “LOG RECORDING DATEAND TIME”, the date and time when a user operated the device 11 and alog was recorded is written.

As regards information blocks written in the fields in the top row ofthe operation log database 31 in FIG. 2, an item ID “1001”, a user ID“1”, a log type “Recording”, and log recording date and time “12/05/200708:39:44” are managed in association with one another. It is understoodfrom the associated information blocks that a user assigned the user ID“1” performed an operation of “Recording” written in the field “LOGTYPE” on an item (program) identified by the item ID “1001” at“12/05/2007 08:39:44” written in the field “LOG RECORDING DATE ANDTIME”.

As described above, the operation log database 31 manages dataindicating an operation performed on a predetermined program by a user.Such data management enables acquisition of information indicating whichitem a user is recently interested in.

Although it will be described in detail below, it is assumed that thereare logs indicating that a predetermined user (user A) recorded apredetermined item (item A), viewed, and then evaluated the item A as“Good”. In this case, it can be determined that the user A likesprograms of a genre (genre A) which the item A belongs to. In otherwords, a program belonging to the genre A can be preferentiallyrecommended to the user A.

Logs written in the operation log database 31 are referred to. As willbe described below, a degree of activity (also referred to as “activitydegree”) is a value increased in response to a user operation, such asrecording or viewing. An item to be recommended is determined on thebasis of such activity degrees. It is therefore possible to recommend aprogram related to a program in which the user is so interested as torecord and/or view. Such an activity degree is set so as to beattenuated over time. Accordingly, an activity degree for an operationwhich has been performed before is low. Thus, a program related to aprogram in which the user was interested can be prevented from beingrecommended to the user. To take elapsed time into consideration, theoperation log database 31 is configured to manage log recording date andtime.

As for updating data managed by the operation log database 31, forexample, adding a new operation log, the intra-device informationextraction engine 21 may acquire information relating to an operationfrom the device 11 and perform such a process. Alternatively, a newengine (not illustrated in FIG. 1) may be provided to perform thisprocess. Furthermore, when the device 11 performs a process for, forexample, login, the device 11 may access the operation log database 31and update an operation log.

Referring again to FIG. 1, the user taste database 32 managesinformation relating to user taste. FIG. 3 illustrates the datastructure of the user taste database 32. Referring to FIG. 3, the usertaste database 32 manages information indicating “user ID”, informationindicating “attribute ID”, information indicating “attribute value”, andinformation indicating “level of importance (hereinafter, importancelevel)” in association with one another.

In a field named “USER ID”, an ID assigned to each user is written inthe same way as the field “USER ID” in the operation log database 31.

In a field named “ATTRIBUTE ID”, an ID indicating the attribute ofinformation written in the next field named “ATTRIBUTE VALUE” iswritten. For example, when an ID indicating an attribute “drama” iswritten in the field “ATTRIBUTE VALUE”, an ID assigned to an attribute“genre” is written in the field “ATTRIBUTE ID” because “drama” belongsto the attribute “genre”. In other words, attributes include, forexample, a genre, a person, and a keyword. Information blocks which canserve as attributes are previously assigned IDs. The assigned IDs arewritten.

In the field “ATTRIBUTE VALUE”, an ID indicating each attribute value iswritten. As described above, IDs assigned to concrete information blocksindicating “drama” and “actor A” are written. In a field named“IMPORTANCE LEVEL”, a numerical value indicating to what extent a userlikes information indicated by the corresponding attribute value iswritten.

As regards information blocks written in the fields in the first tofifth rows from the top of the user taste database 32 in FIG. 3, a userID “1” is associated with an attribute ID “1” (in the first row) and anattribute ID “2” (in the second to fourth rows). The attribute ID “1” isassociated with an attribute value “30” and an importance level of“0.5”. It is therefore understood that the attribute ID “1” indicatingthe attribute “genre” is associated with, for example, an attribute“action” which is assigned the attribute value “30” and belongs to theattribute “genre”. Furthermore, it is determined that the useridentified by the user ID “1” is interested in the genre “action” at theimportance level “0.5”.

In addition, it is understood that the user identified by the user ID“1” is interested in information blocks assigned attribute values “2”,“4”, and “3”, included in the attributes identified by the attribute ID“2”, at importance levels “0.3”, “1.3”, and “4.4”, respectively.

In this case, specifically, the attribute ID “2” is associated with theattribute values “2”, “4”, and “52”. For example, assuming that theattribute ID “2” is assigned to an attribute “person”, the attributevalues “2”, “4”, and “52” are assigned to persons, e.g., “actor A”,“actor B”, and “singer C”, respectively. As described above, oneattribute ID is associated with a plurality of attribute values.Attribute IDs and attribute values relating to user taste are written inthe user taste database 32.

As described above, the user taste database 32 stores and managesinformation relating to user taste of each user. The user taste database32 is updated by the taste extraction engine 23.

Referring again to FIG. 1, the item meta database 33 manages informationrelating to metadata added to an item. FIG. 4 illustrates the datastructure of the item meta database 33. Referring to FIG. 4, the itemmeta database 33 manages information indicating “item ID”, informationindicating “attribute ID”, information indicating “attribute value”,information indicating “the number of updating times”, and informationindicating “importance level” in association with one another.

In a field named “ITEM ID”, an ID assigned to each item is written inthe same way as the field “ITEM ID” in the operation log database 31.

In a field named “ATTRIBUTE ID” and a field named “ATTRIBUTE VALUE”, anID assigned to each attribute and a value assigned to informationincluded in the corresponding attribute are written in these fields inthe same ways as the fields “ATTRIBUTE ID” and “ATTRIBUTE VALUE” in theuser taste database 32.

In a field named “NUMBER OF UPDATING TIMES”, the number of times ofupdating the corresponding attribute value is written. In a field named“IMPORTANCE LEVEL”, an importance level of the corresponding attributevalue is written. This importance level differs from that in the usertaste database 32. An importance level in the user taste database 32 isfor information uniquely specified by a predetermined attribute ID andan attribute value of a predetermined user. An importance level in theitem meta database 33 is for information uniquely specified by apredetermined attribute ID and an attribute value of a predetermineditem.

As regards information blocks in the fields in the top row of the itemmeta database 33 in FIG. 4, the item ID “1001”, the attribute ID “1”, anattribute value “153144”, the number of updating times “1”, and animportance level “1.5845” are managed in association with one another.In this case, the fields in the top row of the item meta database 33 inFIG. 4 describe that the attribute value of the attribute, specified bythe attribute ID “1”, of the item identified by the item ID “1001” is“153144”, the attribute value has been updated “1” time, and theimportance level of the attribute value is “1.5845”.

As described above, the item meta database 33 stores and managesinformation blocks indicating, for example, an attribute of each itemand an importance level of each attribute. The item meta database 33 isupdated by the taste extraction engine 23. The taste extraction engine23 updates the user taste database 32 and the item meta database 33.Since information blocks indicating, for example, attribute IDs managedby the user taste database 32 are the same as those by the item metadatabase 33, the taste extraction engine 23 is configured to update allof the information blocks in those databases at one time. Since thiscase is illustrative only, another engine may manage these databases.

Referring again to FIG. 1, the item state management database 34 managesinformation for managing item states. FIG. 5 illustrates the datastructure of the item state management database 34. Referring to FIG. 5,the item state management database 34 manages information indicating“user ID”, information indicating “series ID”, information indicating“viewed date”, information indicating “viewed broadcasted date”,information indicating “programmed date”, information indicating“recorded date”, information indicating “broadcasted date”, informationindicating “the number of recording times”, information indicating“accumulated value”, information indicating “user update date”, andinformation indicating “record update date” in association with oneanother.

In a field named “USER ID”, an ID assigned to each user is written inthe same way as the field “USER ID” in the operation log database 31 andthat in the user taste database 32.

In a field named “SERIES ID”, an ID identifying each series is written.Such a series ID is an ID that indicates a series of, for example, a TVbroadcast program broadcasted as a series. The series means a series ofprograms, such as a drama series or a quiz show, broadcasted, forexample, every week in a predetermined time zone at a predeterminedchannel.

Such a program, e.g., a drama series includes a predetermined number ofparts. For example, a 15-part series is broadcasted as a single series.In this specification, each part of the series will be called “program”and a set of programs will be called “series”. Programs constituting adrama series are assigned the same series ID. In the followingdescription, 15 programs constituting a single series will be describedas an example when necessary.

As for the series ID, cyclically broadcasted seasonal programs, calledspecial programs, having the same content (concept) may be handled as aseries and be assigned the same ID.

A program that does not constitute a series is assigned an ID indicatingthat the program is not included in a series. Alternatively, such aprogram is not assigned any series ID.

In a field named “VIEWED DATE”, the date and time when a user mostrecently viewed a program constituting a single series is written. Forexample, it is assumed that a program broadcasted as the third of a15-part series is the most recently viewed program among programsconstituting the series. In this case, the date and time when the userviewed the third program is written in the field “VIEWED DATE”.

In a field named “VIEWED BROADCASTED DATE”, the date and time when aprogram, which constitutes a single series and which a user mostrecently viewed, was broadcasted is written. For example, it is assumedthat a program broadcasted as the third of a 15-series is the mostrecently viewed program among programs constituting the series. In thiscase, the date and time when the third program wad broadcasted iswritten in the field “VIEWED BROADCASTED DATE”.

In a field named “PROGRAMMED DATE”, the date and time when a program,which constitutes a single series and which a user most recentlyprogrammed to record, was broadcasted is written. For example, it isassumed that a program broadcasted (or to be broadcasted) as the eighthof a 15-part series is the program most recently programmed to berecorded among programs constituting the series. In this case, the dateand time when the eighth program was broadcasted (or is to bebroadcasted) is written in the field “PROGRAMMED DATE”.

In a field named “RECORDED DATE”, the date and time when a most recentlyrecorded program constituting a single series was broadcasted iswritten. For example, it is assumed that a program broadcasted as thesixth of a 15-part series is the most recently recorded program amongprograms constituting the series. In this case, the date and time whenthe sixth program was broadcasted is written in the field “RECORDEDDATE”.

In a field named “BROADCASTED DATE”, the date and time when a mostrecently broadcasted program constituting a single series wasbroadcasted is written. For example, it is assumed that a programbroadcasted as the seventh of a 15-part series is the most recentlybroadcasted program among programs constituting the series. In thiscase, the date and time when the seventh program was broadcasted iswritten in the field “BROADCASTED DATE”.

In a field named “NUMBER OF RECORDING TIMES”, the number of times ofrecording a program constituting a single series is written. Forexample, when it is assumed that the first to third programs of a15-part series were broadcasted and these programs were recorded, avalue “3” is written in the field “NUMBER OF RECORDING TIMES”.

In a field named “NUMBER OF BROADCASTING TIMES”, the number of times ofbroadcasting a program constituting a single series is written. Forexample, when it is assumed that the first to third programs of a15-part series were broadcast, a value “3” is written in the field“NUMBER OF BROADCASTING TIMES”.

In a field named “ACCUMULATED VALUE”, a value obtained by adding thedifference between the date and time written in the field “BROADCASTDATE” and the date and time when a program was broadcast is written.

In a field named “USER UPDATE DATE”, the date and time when a user mostrecently operated the device 11 is written. For example, when the mostrecently user operation is programming to record a program, the date andtime when the recording programming operation was performed is writtenin the field “USER UPDATE DATE”.

In a field named “RECORD UPDATE DATE”, the date and time when theabove-described information managed by the item state managementdatabase 34 was updated is written.

As regards information blocks in the top row of the item statemanagement database 34 in FIG. 5, the user ID “1”, a series ID “2”,viewed date “08-11-2008 10:41:16”, viewed broadcasted date “01-01-000100:00:00”, programmed date “08-12-2008 13:00:00”, recorded date“08-11-2008 03:10:00”, broadcasted date “08-16-2008 02:55:00”, thenumber of recording times “4”, the number of broadcasting times “36”, anaccumulated value “80229”, user update date “08-11-2008 11:50:13”, andrecord update date “08-11-2008 06:17:21” are associated with oneanother.

In this case, if it is difficult to write the date and time because, forexample, the user has not viewed a program yet, information indicatingthe fact, for example, “01-01-0001 00:00:00” is written.

As described above, the item state management database 34 managesinformation blocks indicating item states for each user in associationwith one another. The item state management database 34 is updated bythe item management engine 22.

Referring again to FIG. 1, the activity degree database 35 managesactivity degrees. FIG. 6 illustrates the data structure of the activitydegree database 35. Referring to FIG. 6, the activity degree database 35manages information indicating “user ID”, information indicating “seriesID”, information indicating “function ID”, information indicating“activity degree”, and information indicating “record update date” inassociation with one another.

In this instance, the degree of activity (activity degree) is an indexto measure user's interest or taste at that time. A predeterminedoperation performed on an item, e.g., viewing or recording apredetermined program, transferring the program to another device, ordeleting the recorded program, is performed because a user is interestedin the program for some reason.

In consideration of the above fact, user taste can be obtained on thebasis of which item a user operated and which operation the userperformed on the item. For example, assuming that the user recorded apredetermined item and viewed the item, the user may be very interestedin the item and the item can reflect the user taste at that time.Accordingly, the activity degree is regarded as an index indicating usertaste obtained from a predetermined user operation on a predetermineditem.

The activity degree is calculated by the item management engine 22. Theitem management engine 22 calculates each activity degree in theactivity degree database 35 using information managed by the item statemanagement database 34. An activity degree is previously set for eachpredetermined operation. A set value is added every time an operation isperformed on each item. For example, it is assumed that two points areset for recording and one point is set for viewing. If a predetermineditem was recorded and was then viewed, the activity degree for the itemis calculated as three points (=2+1). The calculated activity degree iswritten in the activity degree database 35.

An activity degree is set so that the value is attenuated over time. Aswill be described below, the activity degrees are mainly used torecommend an item that reflects short-term user interest or habit. Sincethe activity degrees are used in this manner, an activity degree whichhas not been updated for a certain amount of time is set to a smallvalue so as not to significantly affect item recommendation.

For example, information indicating record update date (which will bedescribed later) in the activity degree database 35 is checked atpredetermined intervals T1 to detect an activity degree which has notbeen updated for a period of time equivalent to the predeterminedinterval T1 or longer. The detected activity degree is multiplied by anattenuation constant V. Such processing is performed at thepredetermined intervals T1, so that the activity degree is attenuatedover time.

The activity degree database 35 will now be described below. In a fieldnamed “USER ID”, an ID assigned to each user is written in the same wayas the field “USER ID” in each of the operation log database 31, theuser taste database 32, and the item state management database 34.

In a field named “SERIES ID”, a series ID is written in the same way asthe field “SERIES ID” in the item state management database 34.

In a field named “FUNCTION ID”, an ID assigned to each function iswritten. In this instance, the function indicates a type ofrecommendation. Examples are as follows. According to a first type ofrecommendation, user taste is determined and a program to beautomatically recorded is recommended. According to a second type ofrecommendation, viewing a recorded program is recommended. According toa third type of recommendation, deleting a recorded program isrecommended. An activity degree of each function is updated on the basisof a user operation. As described above with respect to the operationlog database 31, user operations include program viewing, programrecording (recording programming), program evaluation, retrieval ofinformation regarding the details of a program, and transfer of arecorded program to a device other than the device 11.

When a user performs such an operation, information indicating theoperation is written in the field “LOG TYPE” in the operation logdatabase 31. Accordingly, the corresponding activity degree is updatedon the basis of the information written in the field “LOG TYPE”. Useroperations used for updating an activity degree of each function arepredetermined. When an operation is performed, for example, when anoperation log is written, the activity degree of the correspondingfunction is updated.

A table (not illustrated) including function IDs and operations inassociation with each other may be provided separately and be managed.Accordingly, when a user wants to, for example, add, change, or deletean operation item, a function ID can be added, changed, or deleted inresponse to such a process. Consequently, versatility can be increasedand management can be easily performed.

In a field named “ACTIVITY DEGREE”, an activity degree is written. Sincethe activity degree is a value updated in response to a user operation,a field named “RECORD UPDATE DATE” is provided so that the date on whicha record was updated is written.

As regards information blocks in the top row of the activity degreedatabase 35 in FIG. 6, the user ID “1”, a series ID “101”, a function ID“1”, an activity degree “9.8”, record update date “08-11-2008 11:50:13”are managed in association with one another. It is understood from theseinformation blocks that the activity degree associated with the userassigned the user ID “1” is “9.8” for recommendation of a type assignedthe function ID “1” indicating, for example, automatic recording of aprogram constituting a series assigned the series ID “101”. In otherwords, this means that the degree of recommendation for automaticrecording of the series assigned the series ID “101” is “9.8”.

As described above, the activity degree database 35 manages activitydegrees of functions for respective series. The activity degree database35 is updated by the item management engine 22.

With reference again to FIG. 1, the genre master database 36 manages alist of genres (hereinafter, referred to as “series-viewingrecommendation genres”) in each of which it is preferable tosuccessively view a series from the first part (program) of the series.Referring to FIG. 7, the genre master database 36 manages informationindicating “genre ID” and information indicating “genre name” inassociation with each other.

In a field named “GENRE ID”, an ID assigned to each genre is written. Ina field named “GENRE NAME”, the name of a genre corresponding to eachgenre ID is written.

As regards information blocks in the top row of the genre masterdatabase 36 in FIG. 7, a genre ID “103000” and a genre name “drama” aremanaged in association with each other. In this case, a program (series)belonging to the genre name “drama” assigned the genre ID “103000” ismanaged as an item belonging to a recommended genre in which a usershould view a series from the first part (program).

Referring again to FIG. 1, the EPG management database 37 manages datarelating to an EPG. FIG. 8 illustrates the data structure of the EPGmanagement database 37. Referring to FIG. 8, the EPG management database37 manages information indicating “item ID”, information indicating“series ID”, information indicating “start time”, information indicating“finish time”, and information indicating “broadcast station” inassociation with one another.

In a field named “ITEM ID”, an ID assigned to each item is written inthe same way as, for example, the field “ITEM ID” in the item metadatabase 33. In a field named “SERIES ID”, an ID assigned to each seriesis written in the same ways as, for example, the field “SERIES ID” inthe item state management database 34.

In a field named “START TIME”, the time of start of an item, i.e., abroadcast program is written. In a field named “FINISH TIME”, similarly,the time of finish of the broadcast program is written. In a field named“BROADCAST STATION”, a broadcast station (channel number) broadcastingthe program is written.

As regards information blocks in the top row of the EPG managementdatabase 37 in FIG. 8, the item ID “1001”, the series ID “2”, start time“08-12-2008 08:00:00”, finish time “08-12-2008 9:00:00”, and a broadcaststation “3” are managed in association with one another.

As for information stored in the EPG management database 37, metadata ofan item is acquired and information included in the metadata is written.In this embodiment, since it is assumed that a series ID is information(included in metadata) constituting an EPG, it is also assumed thatmetadata is acquired and is written in the EPG management database 37.In this case, a site which produces an EPG assigns a series ID.Alternatively, a site which manages the EPG management database 37 mayassign a series ID and write information in the EPG management database37.

As described above, the EPG management database 37 manages data obtainedfrom an EPG.

The database unit 13 (refer to FIG. 1) includes the above-describeddatabases. A process performed using the databases in the database unit13 by the engine unit 12, particularly, a process for recommendationwill be described below.

Process for Recommendation

As for examples of recommendation, a user is recommended to view aprogram which is being broadcasted, the user is recommended to record aprogram to be broadcasted, the user is recommended to view any ofrecorded programs, and the user is recommended to delete any of recordedprograms. In addition, when the user transfers a program recorded in thedevice 11 to another device, e.g., a portable device (hereinafter,referred to as “portable terminal”) including a display unit capable ofdisplaying an image, a program suitable for transfer is recommended tothe user. Furthermore, in such transfer, when the user intends totransfer a plurality of programs but a portable terminal as a transferdestination has a small storage capacity and it is difficult to transferall the programs, a program which is not transferred is recommended tothe user.

As for the above-described recommendations, recommendations (for viewingand recording) other than recommendation for deletion have the samebasic process flow. The basic process flow will be described withreference to a flowchart shown in FIGS. 9 and 10. The recommendation fordeletion will be described later with reference to a flowchart of FIG.11. A process for recommendation, i.e., the process which will bedescribed with reference to FIGS. 9 and 10 is performed by therecommendation engine 25 (see FIG. 1).

In step S11, the recommendation engine 25 extracts a plurality of serieswith higher activity degrees. Specifically, the recommendation engine 25refers to the activity degree database 35 (see FIG. 6) to read out, forexample, top N activity degrees associated with a user ID assigned to atarget user (to whom a program is to be recommended) from the activitydegree database 35. In this case, the top N activity degrees are Nhigher activity degrees. If a value indicating an activity degree islower as the activity degree is higher, bottom-N activity degrees areread out from the bottom of activity degrees.

Information to be read out from the activity degree database 35 includesseries IDs associated with the top N activity degrees. Since suchprocessing is performed, information blocks may be updated, e.g., sortedin order of ascending/descending activity degree upon updating theactivity degree database 35. The information blocks in the activitydegree database 35 may be sorted in ascending/descending activity degreeat any time.

In step S12, items are stored in a first recommendation list. When aprogram to be recorded is recommended or a program to be viewed isrecommended from among programs which are being broadcasted at thattime, programs which will be broadcasted or are being broadcasted aretargets. In this case, the EPG management database 37 is referred to andprograms having the same series IDs as the N series IDs extracted instep S11 are stored into the first recommendation list.

When a program to be viewed is recommended from among recorded programs,programs recorded in the device 11 are targets. The item statemanagement database 34 is referred to. Programs having the same seriesIDs as the N series IDs extracted in step S11 are stored into the firstrecommendation list. Explanation will be made assuming that a program tobe recorded is recommended.

In step S13, information relating to taste of the target user isacquired. The recommendation engine 25 refers to the user taste database32 to read out information associated with the user ID assigned to theuser who is the target at that time.

In step S14, matching is performed on the items as recommendationtargets. The recommendation target items are programs which will bebroadcasted later than that time. Matching specifically meanscalculation of the degree of similarity between the user taste and eachrecommendation target item.

As for methods of calculating the degree of similarity, the degree ofsimilarity can be appropriately obtained using any of various methods,e.g., the inner product between two vectors, cosine measure, andEuclidean distance. The explanation will be made using the inner productas an example.

When “a” indicates an attribute included in a group A among attributesof an item, “Wa” indicates the weight of the attribute “a”, “Xa” denotesan attribute “a” of the user taste, and “Ya” denotes an attribute “a” ofa recommendation target item, the degree of similarity between the usertaste and the recommendation target item can be calculated using thefollowing expression.

$\begin{matrix}{{{sim}\left( {X,Y} \right)} = {\sum\limits_{a \in A}\left( {{{X_{a} \cdot Y_{a}}} \times w_{a}} \right)}} & (1)\end{matrix}$

After the degree of similarity of each of the items is calculated, theresults of matching are sorted in descending order in step S15. In otherwords, if a value indicating the degree of similarity (hereinafter, alsoreferred to as “similarity degree”) is larger as the degree ofsimilarity is higher, the items subjected to matching are sorted(arranged) in order from highest similarity to lowest.

The sorted items are stored into a recommendation candidate list in stepS16. The recommendation candidate list may store all of recommendationtarget items or only items each having a similarity degree higher thanor equal to a threshold value.

In step S17, a determination is made as to whether an item in therecommendation candidate list is stored in the first recommendation listor a second recommendation list. Processing in step S17 and thesubsequent steps is performed on each item stored in the recommendationcandidate list. Accordingly, in step S17, any one of the items stored inthe recommendation candidate list is a target to be processed. Whetherthe target item is stored in the first or second recommendation list isdetermined in step S17.

Processing in step S17 is determination for preventing each item storedin the recommendation candidate list from being stored in the first orsecond recommendation list, namely, preventing duplication of each itemin the recommendation candidate list.

When it is determined in step S17 that the target item in therecommendation candidate list is also stored in the first or secondrecommendation list, the process proceeds to step S26 (see FIG. 10). Ifnot, the process proceeds to step S18.

In step S18, a determination is made as to whether the target item is aprogram of a series-viewing recommendation genre. This determination isperformed on the basis of whether the genre ID assigned to the targetitem is registered in the genre master database 36. For example, whenmatching is performed in step S14, the genre ID is acquired as a pieceof information associated with the item and processing in step S18 isperformed using the acquired genre ID. As for the information associatedwith the item, for example, metadata of a program is used. The metadatamay be acquired from a server upon matching. Alternatively, the metadatamay be previously stored in the EPG management database 37 and beacquired from the EPG management database 37 upon matching.

When it is determined in step S18 that the target item is a program of aseries-viewing recommendation genre, the process proceeds to step S19.In step S19, a determination is made as to whether the correspondingseries has already been recorded or viewed. Description will be madeassuming that it is determined that the series has already been recordedor viewed. If an item is to be bought, namely, a pay broadcastingprogram is a target item to be processed, whether the target item hasalready been bought is one of determination factors.

The processing in step S19 is performed with reference to the item statemanagement database 34. Specifically, a determination is made as towhether the series ID matching that assigned to the target item ismanaged in the item state management database 34. When it is determinedthat the series ID is managed in this database, the viewed date orrecorded date associated with the series ID is referred to, thusperforming the processing in step S19.

When it is determined in step S19 that the series which the target itembelongs to has already been recorded or viewed, namely, the user hasviewed or recorded at least one of programs constituting the series, theprocess proceeds to step S20 (see FIG. 10).

In step S20, a determination is made as to whether the target item isranked in the top J items in the recommendation candidate list. When itis determined in step S20 that the target item is ranked in the top J,the process proceeds to step S21. In step S21, the target item in therecommendation candidate list is stored into the first recommendationlist.

Processing in step S21 is performed when it is determined in step S17that the target item is not stored. Accordingly, the target item is notstored in the first recommendation list. In addition, the target item isdetermined as a program recommended to be viewed in series in step S18.Furthermore, the target item is determined as the item (program) whichthe user has already viewed or recorded, namely, the item which the useris interested in. In other words, it is determined on the basis of theresults in steps up to step S19 that the user is a little interested inthe series which the target item belongs to. If the series does notmatch the user taste, it is determined that the user is interested inthe target item at that time, namely, for a short term.

In the processing steps up to step S19, an item that matches short-termuser taste is detected. In step S20, the determination is made on suchan item, namely, whether the item is ranked in the top J items isdetermined. This processing is detection of an item that matches usertaste. In other words, this processing is for detection of an item thatmatches long-term user state.

When the process proceeds to step S21 after the above determination,this proceeding means that the target item is determined as an item thatmatches both of the short-term user taste and the long-term user taste.According to this embodiment, such an item that reflects short-term usertaste can be detected.

Whereas, when it is determined in step S20 that the target item is notranked in the top J items in the recommendation candidate list, theprocess proceeds to step S22. In step S22, a flag for multiplying adegree of series-viewing recommendation (hereinafter, “series-viewingrecommendation degree”) by P times is set. The series-viewingrecommendation degree is calculated in step S23. The flag to multiply avalue indicating the recommendation degree by P times in step S24 is setin step S22.

When it is determined that the target item matches short-term user tastebut does not match long-term user taste, the process proceeds to stepS22. Accordingly, the flag to increase the recommendation degree in thefollowing step is set so that the recommendation degree reflects thefact that the corresponding item matches short-term taste.

When it is determined that the target item is determined as an itemwhich does not belong to the series-viewing recommendation genre,alternatively, when it is determined in step S19 that the target itemhas not been recorded or viewed yet, the process proceeds to step S23.

In step S23, the series-viewing recommendation degree is calculated. Theseries-viewing recommendation degree is a numerical value indicating towhat extent the corresponding target item should be viewed in series.The recommendation degree is calculated in the following expression.

$\begin{matrix}{{viewWeight} = {{\alpha \cdot {ActiveDegree}} + {\beta \cdot \frac{RecordNum}{BroadcastNum}} + {\gamma \cdot \left( \frac{LastRecordBroadcastDate}{NowDate} \right)} + w}} & (2)\end{matrix}$

In Expression (2), “viewWeight” denotes the series-viewingrecommendation degree. In the first term, “ActiveDegree” indicates thedegree of activity written in the activity degree database 35. In thesecond term, “RecordNum” denotes a value written in the field “NUMBER OFRECORDING TIMES” in the item state management database 34 and“BroadcastNum” indicates a value written in the field “NUMBER OFBROADCASTING TIMES” in the item state management database 34. In thethird term, “LastRecordBroadcastData” denotes a value written in thefield “ACCUMULATED VALUE” in the item state management database 34 and“NowDate” indicates the date and time of calculation. “α” in the firstterm, “β” in the second term, and “γ” in the third term each denote acoefficient. The fourth term “w” indicates the default of “viewWeight”.

The series-viewing recommendation degree is calculated using Expression(2). Before calculation using Expression (2), a determination may bemade as to whether the item is being viewed. When it is determined thatthe item is being viewed, the series-viewing recommendation degree maybe obtained by multiplying the value obtained using Expression (2) by aconstant E.

After the series-viewing recommendation degree is calculated in stepS23, the similarly degree (calculated in step S14) of the target item ismultiplied by the series-viewing recommendation degree in step S24.Furthermore, in the case where the flag is set in the item in step S22,the product is multiplied by P times. The final recommendation degree iscalculated in this manner. In step S25, the item with the calculatedrecommendation degree is stored into the second recommendation list.

Processing in steps S17 to S25 is repeatedly performed on each of theitems in the recommendation candidate list. When processing of all theitems is finished, the recommendation degrees of all the items in thesecond recommendation list are stored.

After that, in step S26, the items stored in the second recommendationlist are sorted in order of descending recommendation degree. In stepS27, the items stored in the second recommendation list are stored intothe first recommendation list. At that time, only k items with higherrecommendation degrees in the second recommendation list are stored intothe first recommendation list.

Assuming that many items have already been stored in the firstrecommendation list, when items in the second recommendation list areadded to the items in the first recommendation list, the items in thefirst recommendation list are further increased. On the contrary,assuming that few items are stored in the first recommendation list,even when items in the second recommendation list are added to the itemsin the first recommendation list, the state of the first recommendationlist is not so changed. In some cases, the number of items stored in thefirst recommendation list is small. Since items stored in the firstrecommendation list are to be recommended to the user, the number ofitems recommended is preferably not so many but not so few. It ispreferable to store an appropriate number of items in the firstrecommendation list.

Accordingly, when the items stored in the second recommendation list arestored into the first recommendation list in step S27, the number ofitems moved from the second recommendation list to the firstrecommendation list may be determined in consideration of the number ofitems which have already been stored in the first recommendation list.Specifically, when the above-described “k” denotes a variable and Lindicates the number of items to be finally stored in the firstrecommendation list, the number of items stored in the firstrecommendation list at that time is expressed as (L−k). Only k items maybe moved from the second recommendation list to the first recommendationlist.

After the items stored in the second recommendation list are added tothose in the first recommendation list in the above-described manner,the first recommendation list is normalized and is output in step S28.As for normalization, for example, the items are sorted in order ofdescending recommendation degree. The sorted items are sequentiallyrecommended to a user. Recommendation specifically means providinginformation, corresponding to an item, in text, image, and/or audio formto a user.

Such a recommended item is stored in the first recommendation list.Specifically, items stored in the first recommendation list are storedby performing processing in steps S11 and S12. The items stored in thefirst recommendation list by processing in steps S11 and S12 areprograms of respective series which the user has repetitively recordedor viewed. These items are items which the user is interested in at thattime. In other words, the items are extracted on the basis of short-termuser taste.

In addition, since such an item is extracted on the basis of theactivity degree, the item reflects user habit at that time, for example,the user records a program broadcasted at 8:00 a.m. on Monday and, afterthat, the user views the program. In other words, an item to berecommended is determined using activity degrees, so that an item can beextracted in consideration of user habit. As described above, accordingto the recommendation of the present embodiment, an item that matchesshort-term user taste or habit can be recommended to the user.

The items stored in the recommendation candidate list are selected basedon user taste. The taste is indicated by stored information.Accordingly, the taste is continuous or long-term taste. Itemsreflecting the long-term taste are selected on the basis of theshort-term taste and are then moved to the first recommendation list.Thus, the items reflecting both of the long-term taste and theshort-term taste can be recommended to the user.

According to the process described with reference to the flowchart shownin FIGS. 9 and 10, items reflecting short-term user taste or habit arepreferentially recommended by performing processing in steps S11 andS12. In other words, the top N items to be recommended to the user arebased on short-term user interest or habit.

In step later than steps S11 and S12, for example, step S23, processingis performed using a concept “series” so that the degree ofrecommendation of a program (item) constituting a series is increased.Since an item constituting a series that the user is interested in is tobe recommended, an item based on the short-term user taste or habit canbe recommended only by the above-described processing.

In the process for recommendation, therefore, steps S11 and S12 in FIG.9 may be omitted and the process may be started from step S13. A processmade in consideration of the above-described situation will be describedwith reference to a flowchart of FIG. 11. Processing steps of theflowchart in FIG. 11 are performed in a manner similar to those of theflowchart in FIGS. 9 and 10. Accordingly, equivalent steps areillustrated in FIG. 11 and detailed descriptions of the steps areappropriately omitted.

In step S61, information relating to user taste is acquired. In stepS62, matching is performed on recommendation target items. In step S63,the items are sorted in order of descending similarity degree on thebasis of the results of matching. In step S64, these items are stored inthe recommendation candidate list.

Processing in steps S61 to S64 is performed in a manner similar to thatin steps S13 to S16 in FIG. 9. In the process illustrated in FIG. 11,the first recommendation list is not used. In order to agree with thedescription with reference to the flowchart in FIGS. 9 and 10, however,the list described as the second recommendation list in the flowchart inFIGS. 9 and 10 will also be referred to as the second recommendationlist in the flowchart of FIG. 11. In step S65, a determination is madeas to whether a

target item belongs to a series-viewing recommendation genre. When it isdetermined that the item belongs to the series-viewing recommendationgenre, the process proceeds to step S66. If not, the process skips steps66 and 67 and proceeds to step S68.

Steps S65 and S66 correspond to steps S18 and S19 in FIG. 9,respectively.

When it is determined in step S66 that an item belonging to the sameseries as that the target item belongs to has already been recorded orviewed, the process proceeds to step S67. In step S67, a flag formultiplying the series-viewing recommendation degree by P times is set.After the flag is set, the process proceeds to step S68. Step S67corresponds to step S22 in the flowchart of FIG. 10.

In step S68, a series-viewing recommendation degree of the target itemis calculated. In step S69, the similarity degree of the target item ismultiplied by the series-viewing recommendation degree. Upon processingin step S69, multiplying the series-viewing recommendation degree by Ptimes is also performed on an item subjected to processing in step S67,namely, the item with the set flag. In step S70, the resultantrecommendation degree is associated with the item and is then storedinto the second recommendation list. Steps S68 to S70 correspond tosteps S23 to S25 in the flowchart of FIG. 10, respectively.

In step S71, items stored in the second recommendation list are sortedin order of descending recommendation degree. In step S72, the secondrecommendation list is normalized and the recommended items are providedto the user. Steps S71 and S72 correspond to steps S26 and S28 in theflowchart of FIG. 10, respectively.

According to the above-described process, whether a target item is anitem belonging to a series or an item which the user has alreadyrecorded or viewed is determined by processing in steps S65 to S69.Thus, an item can be extracted in consideration of short-term user tasteor habit.

According to the process illustrated in the flowchart of FIG. 11,therefore, items that reflect both of long-term taste and short-termtaste can be recommended to the user. Process for DeletionRecommendation

A process for deletion recommendation will now be described. In deletionrecommendation, for example, when the remaining storage capacity of thedevice 11 is small and any stored item is deleted in order to increasethe storage capacity, an item that may be deleted is recommended to auser. Another deletion recommendation is as follows. When a plurality ofitems are intended to be moved from the device 11 to another device, itis difficult to move all of specified items because the remainingstorage capacity of the other device is not enough to receive thespecified items. In this case, an item to be deleted from a listincluding target items is recommended.

A process for such deletion recommendation will now be described withreference to a flowchart of FIG. 12.

In step S101, the recommendation engine 25 extracts a plurality ofseries with higher activity degrees associated with a function “deletionrecommendation”. Specifically, the recommendation engine 25 sortsactivity degrees associated with a user ID assigned to a target user (towhom a program is recommended) and associated with a function IDassigned to the function “deletion recommendation” in descending order,and then refers to the activity degree database 35 (see FIG. 6) to readout top N series with higher activity degrees. In this case, each serieswith a higher activity degree associated with deletion recommendation isdetermined as a series that the user is not interested in. This processis for extraction of an item to be deleted. Accordingly, processing ofextracting a series that the user is not interested in is performed instep S101.

In step S102, items are stored into a first deletion list. The storeditems are deletion target programs. When a recorded item is deleted,items stored in the device 11 are deletion target programs.Alternatively, when an item to be moved is specified and the specifieditem is to be deleted first, the specified item is a deletion targetprogram.

In either case, a deletion target is an item stored in the device 11.Accordingly, programs stored in the device 11 serve as target items andthe item state management database 34 is referred to. Programs havingthe same IDs as those of the N series extracted in step S101 are storedinto the first deletion list.

In step S103, information relating to taste of the target user isacquired. The recommendation engine 25 refers to the user taste database32 to read out information associated with the user ID assigned to thetarget user at that time.

In step S104, matching between each deletion target item and the usertaste is performed. A matching target item is an item stored in thedevice 11. Matching can be performed in the same way as matching in stepS14 in the flowchart of FIG. 9. In this matching, the degree ofsimilarity between the user taste and the deletion target item iscalculated.

After the similarity degrees are calculated, the items associated withthe calculated similarity degrees are stored into a deletion candidatelist in step S105. All the deletion target items may be stored in thedeletion candidate list. Alternatively, an item associated with asimilarity degree lower than or equal to a threshold value, namely, anitem determined as an item that does not match the user taste may bestored in this list.

In step S106, a determination is made as to whether an item in thedeletion candidate list has already been stored in the first deletionlist or a second deletion list. Processing in step S106 and thesubsequent steps is performed on each of the items stored in thedeletion candidate list. In step S106, therefore, one of the itemsstored in the deletion candidate list is a target to be processed.Whether the target item has already been stored in the first deletionlist or the second deletion list is determined.

When it is determined in step S106 that the target item stored in thedeletion candidate list is also stored in the first deletion list or thesecond deletion list, the process skips steps 107 to S109 and proceedsto step S110. If not, the process proceeds to step S107.

In step S107, a series-viewing recommendation degree is calculated. Theseries-viewing recommendation degree is a numerical value indicating towhat extent the corresponding target item should be viewed in series andis calculated using Expression (2) described above. Since Expression (2)has been described in the explanation regarding step S23 in theflowchart of FIG. 10, the detailed description of Expression (2) isomitted.

After the series-viewing recommendation degree is calculated in stepS107, the similarity degree (calculated in step S104) of the target itemis multiplied by the recommendation degree in step S108. The resultantrecommendation degree is stored in the second deletion list inassociation with the target item.

Processing in steps S106 to S109 is repeatedly performed on each of theitems stored in the deletion candidate list. After processing of all theitems is finished, the recommendation degrees associated with all theitems stored in the deletion candidate list are stored in the seconddeletion list.

In this state, in step S110, the items stored in the second deletionlist are sorted in order of descending recommendation degree. Since theprocess is to extract an item that should be recommended as suitable tobe deleted, an item associated with a higher recommendation degree is atarget item. Accordingly, in step S110, the items in the second deletionlist are sorted in order of descending recommendation degree.

In step S111, the items stored in the second deletion list are storedinto the first deletion list. At that time, k items associated withlower recommendation degrees are stored into the first deletion list.The value “k” may be set to a variable depending on the number of itemsstored in the first deletion list in the same case as processing in stepS27 in FIG. 10.

After the items stored in the second deletion list are added to those inthe first deletion list, the first deletion list is normalized and isoutput in step S112. As for normalization, for example, the items in thefirst deletion list are sorted in order of ascending recommendationdegree. The sorted items are sequentially recommended to the user.

According to this process, an item that does not match the user tastecan be recommended as a deletion target.

As described above, according to the present embodiment, recommendationbased on short-term interest or habit can be performed. In addition,such recommendation can provide the user an opportunity to, for example,record or view a program. Furthermore, the user's taste can be expanded.Additionally, recommendation tailored to user taste can also beperformed.

The above-described series of processing steps can be executed byhardware or software. When the above-described series of processingsteps is executed by software, a program constituting the software isinstalled from a program recording medium into a computer incorporatedin dedicated hardware or into a multi-purpose personal computer which iscapable of executing various functions by installing various programs.

FIG. 13 is a block diagram illustrating the hardware configuration of apersonal computer for executing the above-described series of processingsteps in accordance with a program.

In the computer, a central processing unit (CPU) 201, a read only memory(ROM) 202, a random access memory (RAM) 203 are connected to each othervia a bus 204.

The bus 204 is connected to an input-output interface 205. Theinput-output interface 205 is connected to an input unit 206, an outputunit 207, a storage unit 208, a communication unit 209, and a drive 210.The input unit 206 includes a keyboard, a mouse, and a microphone. Theoutput unit 207 includes a display and a speaker. The storage unit 208includes a hard disk or a nonvolatile memory. The communication unit 209includes a network interface. The drive 210 drives a removable medium211 such as a magnetic disk, an optical disk, a magneto-optical disk, ora semiconductor memory.

In the computer with the above-described configuration, the CPU 201loads, for example, a program stored in the storage unit 208 into theRAM 203 via the input-output interface 205 and the bus 204 and executesthe program, thus performing the above-described series of processingsteps.

As for the program executed by the computer (the CPU 201), the programrecorded on the removable medium 211, serving as a package mediumincluding, for example, a magnetic disk (including a flexible disk), anoptical disk such as a compact disc-read only memory (CD-ROM) or a DVD,a magneto-optical disk, or a semiconductor memory, may be provided.Alternatively, the program may be provided through a wired or wirelesstransmission medium, such as a local area network, the Internet, ordigital satellite broadcasting.

After the removable medium 211 is loaded into the drive 210, the programmay be installed to the storage unit 208 through the input-outputinterface 205. Alternatively, the program may be received by thecommunication unit 209 through the wired or wireless transmission mediumand be then installed to the storage unit 208. Alternatively, theprogram may be previously installed in the ROM 202 or the storage unit208.

The program executed by the computer may be a program includingprocessing steps which are carried out in time series in the describedorder in this specification or a program including processing stepswhich are carried out in parallel or individually at necessary timing,for example, in response to a call request.

The term “system” in this specification represents an overall apparatusincluding a plurality of units.

The present application contains subject matter related to thatdisclosed in Japanese Priority Patent Application JP 2008-230321 filedin the Japan Patent Office on Sep. 8, 2008, the entire content of whichis hereby incorporated by reference.

It should be understood that embodiments of the present invention arenot limited to the above-described embodiments and various modificationscan be made without departing from the spirit and scope of the presentinvention.

1. An information processing apparatus comprising: circuitry configuredto: calculate a first taste of a user at a time of performing anoperation of the user on items, wherein the operation is generated via auser interface; extract first items among recommendation items based onthe first taste of the user; extract second items among therecommendation items based on a second taste of the user; and recommendone or more items among the extracted first and second items.
 2. Theinformation processing apparatus according to claim 1, wherein thesecond taste of the user is calculated based on operations of the userduring a predetermined time interval that includes the time ofperforming the operation of the user on the items.
 3. The informationprocessing apparatus according to claim 2, wherein the circuitry isfurther configured to indicate to what extent the recommendation itemsare recommended.
 4. The information processing apparatus according toclaim 3, wherein the circuitry is further configured to order theextracted first items and the extracted second items according to theextent the recommendation items are recommended.
 5. The informationprocessing apparatus according to claim 4, wherein the circuitry isfurther configured to disregard a set of the extracted second items whenthe extent the recommendation items are recommended is below apredetermined threshold.
 6. The information processing apparatusaccording to claim 1, wherein the first taste is a taste based on ashorter time interval than the second taste.
 7. An informationprocessing method executed in an information processing apparatus, themethod comprising: calculate a first taste of a user at a time ofperforming an operation of the user on items, wherein the operation isgenerated via a user interface; extract first items among recommendationitems based on the first taste of the user; extract second items amongthe recommendation items based on a second taste of the user; andrecommend one or more items among the extracted first and second items.8. A non-transitory computer-readable medium having a set ofcomputer-executable instructions embodied thereon, for causing aninformation processing apparatus to perform a method comprising:calculate a first taste of a user at a time of performing an operationof the user on items, wherein the operation is generated via a userinterface; extract first items among recommendation items based on thefirst taste of the user; extract second items among the recommendationitems based on a second taste of the user; and recommend one or moreitems among the extracted first and second items.